草庐IT

iOS Crash 的监听

全部标签

c# - 异步 TCP 服务器持有套接字但停止监听

我有以下异步TCP服务器,我用它来接受来自要上传文件的客户端的传入请求。大约1-4小时后,服务器将停止接受任何新连接。这一直让我感到困惑,因为我无法确定地重现错误。我程序中的其余线程继续正常运行。没有任何异常抛出。关于可能发生的事情有什么建议吗?在服务器死机之前,我所看到的只是它设法完成挂起的请求然后停止。我有一种预感,服务器正在经历频繁的网络断开连接。如何使这段代码对故障更健壮?我已经将try-catch添加到可能会失败的两段代码中,但我觉得我仍然遗漏了一些东西。我设置了另一个线程来检查此服务器是否释放套接字,但即使在它停止处理客户端请求后套接字似乎仍在使用中。我使用netstat-

c# - .NET TcpListener Stop 方法在有子进程时不会停止监听器

我正在处理一些遗留的TCP服务器代码,这些代码直接与套接字一起使用,因为它是在.NET2.0和更早版本中编写的。服务器具有“停止”和“开始”接受客户端连接的功能。为了解决这个问题,我以管理员用户身份在控制台模式下运行服务器。最重要的是,我已经从等式中消除了套接字接受线程,所有代码所做的都是这样的:tcpListener=newTcpListener(IPAddress.Any,this.Port);tcpListener.Start();和tcpListener.Stop();这是从不同的方法调用的。我调试了代码,我很确定代码只执行一次。但是,问题是调用Stop实际上并没有释放套接字地

sockets - 如何创建将监听特定端口并接受 TCP 连接(非 https)的 servlet

我需要创建servlet,它将监听某个特定端口(如serverSocket.accept()),生成新线程(如普通servlet)并将套接字(或仅输入流和输出流)传递给我的代码。此连接与http无关。我需要读取和写入二进制数据以打开连接。Tomcat可以吗?从哪里开始?我已经搜索了GenericSocket示例,但我看到从GenericSocket继承的servlet仍然必须在web.xml中配置一些url-pattern-但这是特定于http的。 最佳答案 很多年前,当servlet首次引入Java时,关于servlet编程的最好

windows - 用于查找监听端口的服务和网站的脚本

我的机器上安装了一些网站和服务。他们被分配了端口号。现在,每次我想安装新服务器时,我都必须检查端口,看看是否不再使用现有端口号。我想写一个我知道是的,可以编写一个脚本来帮助获取服务和网站使用的端口号...但是从get-process例如,无法获取端口。有人可以帮我解决这个问题,以便可以找到选定进程的统计信息吗?或者有更好的方法来处理这个问题? 最佳答案 可能这是一个愚蠢的答案,但为什么不呢:$procstats=netstat-o是的,我知道,管理该字符串数组并不容易。看here.认真解决最具体的方法是使用win32GetExten

c++ - Boost-asio 在单个 (TCP) 接受器上监听多个 IP 地址

boostTCP接受器可以通过使用端点构造函数连接起来,端点构造函数只接受端口号作为参数,在这种情况下,它将监听所有IP地址/NIC。是否有可能让接受者收听选定的IP地址?或者我是否必须为我感兴趣的每个IP地址创建一个接受器?查看文档,我找不到任何迹象表明这是可能的。我已经好几年没看过套接字API了,但我猜API并没有直接允许这样做。 最佳答案 有无限制的聆听和有限制的聆听。unbound意味着你听所有的NICs,绑定(bind)-到特定的一个。不可能选择一些NIC,我认为因为同样的情况可以通过为每个NIC提供专门的接受器来实现

networking - 当两台计算机监听同一个端口并且路由器通过该端口接收数据包时会发生什么

我想问的是如果两台电脑监听同一个端口,一个信息包通过WANIp和同一个端口进入路由器。数据包会发送到两台计算机吗?两者都不?一个还是另一个?浏览器电脑1-(内网IP)->192.168.1.3-(监听端口)->4444电脑2-(内网IP)->192.168.1.2-(监听端口)->4444计算机3-(连接并发送)->24.157.358.45:4444数据包->计算机1和计算机2VB6中的代码是:LAN.LocalPort=4444LAN.Protocol=sckTCPProtocolLAN.Listen我在VB6Professional中使用MicrosoftWinSockContr

haskell - 在同一个端口上监听 TCP 和 UDP

如何让Haskell在同一个端口上监听UDP和TCP?这是我目前的代码(基于acme-http):listenOnportm=doprotoTCPdosetSocketOptionsockReuseAddr1setSocketOptionsockNoDelay1bindSocketsock(SockAddrInet(fromIntegralportm)iNADDR_ANY)listensock(max1024maxListenQueue)returnsock)protoUDPdosetSocketOptionsockReuseAddr1bindSocketsock(SockAddrIn

PHP套接字监听循环

使用以下代码,我可以接收1个请求并写入:functionlisten(){//Settimelimittoindefiniteexecutionset_time_limit(0);//Settheipandportwewilllistenon$address='XX.XX.XX.XXX';$port=XXXX;//CreateaTCPStreamsocket$sock=socket_create(AF_INET,SOCK_STREAM,0);//Bindthesockettoanaddress/port$bind=socket_bind($sock,$address,$port);//

Unity UGUI的EventTrigger (事件监听器)组件的介绍及使用

UnityUGUI的EventTrigger(事件监听器)组件的介绍及使用1.什么是EventTrigger组件?EventTrigger是UnityUGUI中的一个组件,用于监听和响应UI元素的各种事件,例如点击、拖拽、进入、离开等。通过EventTrigger组件,我们可以方便地为UI元素添加各种交互行为。2.EventTrigger组件的工作原理EventTrigger组件通过监听UI元素上的事件,并在事件触发时执行相应的回调函数。每个UI元素可以添加多个EventTrigger组件,每个组件可以监听一个或多个事件。3.EventTrigger组件的常用属性Triggers:用于添加和管

windows - 多个进程监听同一个端口?

我想了解如何在WindowsXP上启动多个进程监听同一TCP{IP、端口}对。例如,我可以启动两个监听端口371的ncat.exe程序。第二个启动没有任何问题并接收传入连接,而第一个则没有。一旦最后启动的进程终止,第一个接收它们。netstat-a-n|find"LISTENING"TCP0.0.0.0:3710.0.0.0:0LISTENINGTCP0.0.0.0:3710.0.0.0:0LISTENING假设这是一个Windows(XP)行为,它如何成为安全可靠的行为?这意味着您可以“重载”任何已经监听的端口,而不是收到通常的“地址已在使用”错误消息,并且只需说“允许端口371上的